Providers of software applications use the Internet to streamline the process of installing and updating software applications to/from end user computing devices. A desktop application installed and executing on a user's computing device may manage and automate certain portions of the software download, installation and/or update processes to reduce the amount of required user interaction. For example, such a desktop application can be configured to, without user intervention, automatically perform tasks such as downloading and running an installer program to install a new software application or update a previously installed software application. When performed manually by users, such tasks can be seen as cumbersome and may cause some users to become frustrated and not purchase the new software application.
Typically, a web page of the software application provider's web site relies on a browser and browser plug-in executing on the computing device to determine that the desktop application is available on the computing device to manage the software download, installation and/or update processes. By using the browser plug-in, the provider's web site identifies the computing device and determines the installation state of the desktop application including which of the provider's software applications are installed, available for installation, and/or in need of updating on the computing device. However, to improve browser security, many browser vendors are phasing out support for browser plug-ins. For example, Netscape® Plugin Application Programming Interface (NPAPI) plugins are no longer supported for recent updates of the Google Chrome® browser. Similarly, the Microsoft Windows 10 Edge® browser elevates its security settings to intranet level for requests to access localhost, thereby blocking such calls.
With browser vendors tightening their security standards, there are or soon will be no methods for the software provider's website to securely identify the computing device and link it with software applications installed on the computing device. Without the availability of a browser plug-in, the installation state of the desktop application and the provider's software applications that the user is authorized to access cannot be determined via a web browser and the user may be required to manually perform additional operations to download, install and update new software applications.